#ifndef VECMATH_H_
#define VECMATH_H_

typedef struct _point {
        float x;
        float y;
}point;

typedef struct _vec {
        point p;
        point q;
} vec;

/*
float vec_dot(const vec *v1, const vec *v2);
void vec_add(const vec *v1, const vec *v2, vec *result);
void vec_sub(const vec *v1, const vec *v2, vec *result);
void vec_scale(const vec *v, float s, vec *result);
void vec_normalize(vec* v);
*/

void point_scale(point *p, float val, point *res);
void point_add(point *p1, point *p2, point *res);
void point_sub(point *p1, point *p2, point *res);
float point_norm(point *p);
float point_dot(point *p1, point *p2);
void point_perp(point *p, point *res);
float point_dist(point *p1, point *p2);

#endif /*VECMATH_H_*/

